home *** CD-ROM | disk | FTP | other *** search
- Path: ix.netcom.com!netnews
- From: giuliano@ix.netcom.com(Giuliano Carlini)
- Newsgroups: comp.lang.c++
- Subject: Re: Need Professional advice (by a beginner)
- Date: 11 Apr 1996 06:18:13 GMT
- Organization: Netcom
- Message-ID: <4ki875$jmn@reader2.ix.netcom.com>
- References: <316898E2.6754@netvision.net.il> <4kcg7k$rfm@nntp1.best.com>
- NNTP-Posting-Host: lbx-ca7-14.ix.netcom.com
- X-NETCOM-Date: Wed Apr 10 11:18:13 PM PDT 1996
-
- >Bruce Klaydman <bruce@netvision.net.il> wrote:
- >
- >>Need Professional advice (by a beginner).
- >>I want to be a professional programmer my question is
- >>can I do it on my own (without taking any courses) ?
-
- It is definitely possible. The question is whether it is easier. The
- language you write in isn't what makes you a professional. It's knowing
- what to do with it.
-
- Number one is a book on Algorithms and Data Structures. All of CS is
- just algorithms and data structures. Get started right, and learn this
- first. For learning, stay away from Knuth's Art of Programming. While
- my feelings on it are mixed as a general reference, it is definitely
- not a book for a beginner. It's all written in a make believe assembly
- language. You spend 90% of the time translating the low level assembler
- to what is intended at the high level. I hope I don't get toasted TOO
- bad for this heresy.
-
- I'm keen on everyone knowing a little about compilers. Now, very few of
- us will end up working with them, but it is amazing how often I find
- myself writing little parsers, symbol tables, semantic analyzers, code
- generators, etc.
-
- Ditto about operating systems. You'll learn about mutual exclusion,
- tasking, file systems, virtual memory, and all sorts of things you'll
- need in the real world of programming.
-
- Theory of computation. The formal math that underlies our craft. You
- won't use it directly very often, but it had a profound affect on how I
- think about problems.
-
- College Algebra. Another subject you won't use at all, but it is
- amazing how an understanding of it illuminates the tools you use, and
- the systems you produce.
-
- Join and subscribe to the Association of Computing machinery -
- www.acm.org. The industry rags are ok, but the journals are where new
- results first come out. Anything I've seen in Doctor Dobb's or whatever
- I've always seen years earlier in a journal.
-
- I'd suggest learning using Eiffle rather than C++. Most of us need C++
- to live off of, but Eiffle is vastly better. Once you've learned the
- right way, most of it carries over to C++. The problem with C++ is that
- there are 30,000 ways to do anything, and 28,000 of them are wrong. You
- might hit on the right way without experience, but it isn't likely.
- Eiffle makes it easier to do things right. Then once you know it, you
- can use C++ with discipline.
-
- Lastly, you've got to write a lot of bad code before you get good.
- Write and rewrite. Go back and look at what you did a year ago, and see
- if you can do it better. And don't be just a coder. Think about the
- overall structure and design of you programs.
-
- g
-